package ar.uba.fi.algo3.tp3.modelo;

import java.util.Iterator;
import java.util.List;

public class Pacman extends Personaje {
	private int invulnerable;

    public Pacman(Mapa mapa) {
        super(mapa.getCasaPacman().getX(), mapa.getCasaPacman().getY(), mapa);
        this.direccion = null;
        this.invulnerable = 0;
       
    }

    public void vivir() {
        super.vivir();
        if(invulnerable > 0){
        	invulnerable --;
        }
        verSiComeFrutas();
        verSiComeFantasmas();
        verSiComePastillas();
    }

    private void verSiComeFantasmas() {
        List<Fantasma> listaFantasmas = mapa.hayFantasmas(x, y);
        for (Iterator<Fantasma> it = listaFantasmas.iterator(); it.hasNext();) {
            Fantasma fantasma = it.next();
            fantasma.morir();
        }
    }

    private void verSiComePastillas() {
        Pastilla p = mapa.hayPastillas(x, y);
        if (p != null) {
            p.desintegrar();
        }
    }
    
    private void verSiComeFrutas(){
    	List<Fruta> listaFrutas = mapa.hayFrutas(x, y);
    	for(Iterator<Fruta> it = listaFrutas.iterator(); it.hasNext();) {
    		Fruta fruta = it.next();
    		fruta.desintegrar();
    	}
    }

    public Direccion getDireccion() {
        return this.direccion;
    }
        
    public void morir() {
    	if(invulnerable <= 0){
    		Partida.getInstance().restarVidas();
    		x = this.mapa.getCasaPacman().getX();
    		y = this.mapa.getCasaPacman().getY();
    		direccion = null;
    		this.invulnerable = 40;
    	}
    }

    public String toString() {
        return "Pacman en " + x + "," + y;
    }
}


	